<?php
/**
 * Created by JetBrains PhpStorm.
 * User: Андрей
 * Date: 11.05.12
 * Time: 18:57
 * To change this template use File | Settings | File Templates.
 */
 

    /*
     * Контроллер авторизации
     */

    class AuthorizationController extends ControllerAbstract
    {
        /*
         * Страница авторизации обычная
         */
        public  function index()
        {
            $user = UserModelMapper::getCurrentUser();
            // Если пользователь авторизован, то на свою страничку
            if ( $user->isAuthorized() )
            {
                header("Location: http://myblog.local/users/" . $user->getLogin());
                return ;
            }

            $this->_view->setRenderTemplate('authorizationPage.phtml');
        }

        /*
         * Процесс авторизации
         */
        public  function enter()
        {
            // моделька юзера
            $user = UserModelMapper::getCurrentUser();
            // Если пользователь авторизован, то на свою страничку
            if ( $user->isAuthorized() )
            {
                header("Location: http://myblog.local/users/" . $user->getLogin());
                return ;
            }

            // щелчек по кнопке авторизоваться
            if ( !isset($_POST['authorize']) )
            {
                header("Location: http://myblog.local/auth/");
                return ;
            }

            // данные авторазиации
            $user->setLogin( $_POST['userLogin'] )
                 ->setPasswordHash( md5($_POST['userPassword']) );

            // мэппер
            $mapper = new UserModelMapper();

            // результат авторизации
            // если удачно, то на свою страничку
            if ($mapper->authorize($user))
            {
                header("Location: http://myblog.local/users/" . $user->getLogin());
                return ;
            }

            // Если что-то не так...

            $this->_view->authError = true;
            $this->_view->setRenderTemplate('authorizationPage.phtml');
            
        }
    }
